home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / UTILITY / RIO215.ARJ / RIO.DOC < prev    next >
Text File  |  1991-10-08  |  39KB  |  1,095 lines

  1.  
  2.  
  3.  
  4.  
  5.                             RIO 2.15 Users Guide
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.     (Released 7/91 - see Change History for additions to version 2.15)
  13.  
  14.  
  15.                              Table of Contents
  16.  
  17.  
  18.         Purpose  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1
  19.         About Shareware.  .  .  .  .  .  .  .  .  .  .  .  .  .  2
  20.         Shareware Registration  .  .  .  .  .  .  .  .  .  .  .  2
  21.         Support  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3
  22.         Association of Shareware Professionals .  .  .  .  .  .  3
  23.         Distribution.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  4
  24.         Loading RIO-TSR (memory-resident).  .  .  .  .  .  .  .  5
  25.         HotKeys  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5
  26.         Command-line switches.  .  .  .  .  .  .  .  .  .  .  .  5
  27.         Running RIO (non-memory-resident).  .  .  .  .  .  .  .  6
  28.         Configuration Files  .  .  .  .  .  .  .  .  .  .  .  .  6
  29.         Operation.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  7
  30.         File Reads & Writes  .  .  .  .  .  .  .  .  .  .  .  .  8
  31.         Failed DOS calls  .  .  .  .  .  .  .  .  .  .  .  .  .  8
  32.         Hotkey Sound Effects .  .  .  .  .  .  .  .  .  .  .  .  8
  33.         File Attributes.  .  .  .  .  .  .  .  .  .  .  .  .  .  9
  34.         Change History .  .  .  .  .  .  .  .  .  .  .  .  .  .  9
  35.         Credits  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 10
  36.         Contacting the Author.  .  .  .  .  .  .  .  .  .  .  . 10
  37.         Example output - log file, default options.  .  .  .  . 11
  38.         Example output - log file, time-stamp turned on .  .  . 11
  39.         Appendix A - Interrupt $21 DOS functions logged .  .  . 12
  40.         Appendix B - Interrupt $21 Novell Netware functions.  . 14
  41.         Appendix C - Known Incompatibilities.  .  .  .  .  .  . 15
  42.         Appendix D - Limited Warranty .  .  .  .  .  .  .  .  . 16
  43.         Appendix E - Order Form .  .  .  .  .  .  .  .  .  .  . 17
  44.  
  45.  
  46.  
  47.  
  48.  
  49.    ┌─SURGEON GENERAL'S WARNING────────────────────────────────────────┐
  50.    │                                                                  │
  51.    │ RIO can cause your system to hang (it's not common, but it can   │
  52.    │ happen), forcing you to reboot.  If you find a way to            │
  53.    │ consistently hang the program, please let the author know - it   │
  54.    │ would help in eradicating the bug(s)!  See Appendix C for a list │
  55.    │ of known incompabilities.                                        │
  56.    │                                                                  │
  57.    └──────────────────────────────────────────────────────────────────┘
  58.  
  59.  
  60.  
  61.  RIO 2.15
  62.  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  63.  
  64.  
  65. Purpose
  66.  
  67.     RIO-TSR (Rock Input/Output) is a memory-resident program
  68.     (takes about 80K) that logs all DOS disk I/O operations and
  69.     other functions to a file for later study.  It can be useful
  70.     in debugging software and network problems by showing what
  71.     DOS calls are made along with their results, without the need
  72.     to delve into a program's source code.
  73.  
  74.     RIO-TSR is a memory-resident (TSR) program that logs DOS I/O
  75.     operations & functions to a text file for later study.  It's
  76.     useful for debugging software and network problems by showing
  77.     DOS calls & their results, without the need to delve into a
  78.     program's source code.
  79.  
  80.     RIO is a non-TSR program which lets you browse the log file
  81.     and change RIO-TSR's settings, for example to log only
  82.     certain interrupts.  The new version also logs Novell Netware
  83.     & direct disk I/O calls.
  84.  
  85.     RIO is geared towards programmers, but advanced
  86.     non-programmers may find it of use as well.  For example,
  87.     it's possible to detect problems in a program such as not
  88.     closing a file without really understanding how interrupts
  89.     work.  But the more you understand about DOS interrupts the
  90.     more you'll get out of RIO's reports.
  91.  
  92.     RIO can be useful in "reverse-engineering" how a program
  93.     accomplishes certain tasks, or in decoding a data file format
  94.     by listing the number of bytes read/written during each DOS
  95.     call (see the section on File Reads & Writes).
  96.  
  97.     RIO can also point out inefficiencies in a program, for
  98.     example if the program checks a file size fifty times, when
  99.     it could have checked it once, stored it in a variable, and
  100.     not wasted time accessing hte disk repeatedly.
  101.  
  102.     Note that RIO-TSR is normally loaded just during debugging
  103.     periods, and is typically not installed all the time.  If you
  104.     intend to keep it installed all the time, keep it in mind as
  105.     a suspect in case you have system glitches, and unload it if
  106.     it becomes a problem.
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.                                                                        
  116.  ──────────────────────────────────────────────────────────────────────
  117.  1                                                                     
  118.  
  119.  
  120.  
  121.  
  122.                                                                 RIO 2.15
  123.  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  124.  
  125.  
  126. About Shareware
  127.  
  128.     Shareware is a distribution method, not a type of software.
  129.     You should find software to suit your needs and pocketbook,
  130.     whether it's commercial or Shareware. The Shareware system
  131.     makes fitting your needs easier, because you can try before
  132.     you buy, and lower overhead means lower prices. Shareware has
  133.     the ultimate money-back guarantee: if you don't use the
  134.     product, you don't pay for it!
  135.  
  136.  
  137. Shareware Registration
  138.  
  139.     RIO is distributed as a shareware program.  You're encouraged
  140.     to try the program prior to purchase, and to give copies to
  141.     your friends and colleagues who you think may find it useful.
  142.     However, the software is not free; if you decide to use RIO
  143.     on a regular basis, please do the right thing and support the
  144.     author.  You'll help further the development of this software
  145.     and gain the benefits of registration.
  146.  
  147.     The cost of registration is $25.  Registered users will
  148.     receive 5.25" or 3.5" disks (your choice of disk size)
  149.     containing:
  150.  
  151.      * The latest version of RIO.EXE, RIO-TSR.EXE, and RIO.DOC
  152.  
  153.      * A scaled down version of RIO-TSR that saves about 30K when
  154.        resident, but logs fewer types of interrupts
  155.  
  156.      * A printed and bound RIO manual
  157.  
  158.      * A set of public domain text files describing in detail the
  159.        DOS and Novell interrupts - close to 500 pages of info if
  160.        you print it out
  161.  
  162.     The $25 registration fee will license one copy for use on any
  163.     one computer at any one time.  Call for quantity
  164.     purchases/site licenses.
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.                                                                        
  177.  ──────────────────────────────────────────────────────────────────────
  178.                                                                       2
  179.  
  180.  
  181.  
  182.  
  183.  RIO 2.15
  184.  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  185.  
  186.  
  187. Support
  188.  
  189.     Rock will answer any questions about its products from
  190.     registered users, or even from unregistered users who are
  191.     thinking about registering.
  192.  
  193.     Writing via U.S. mail, or better yet, if you have a telephone
  194.     modem, through electronic communication, is the best way of
  195.     reaching us. However, telephone support is available if you
  196.     lack modem access and need help right away.  Rock may, at its
  197.     discretion, limit total telephone support to 30 minutes per
  198.     registered user.
  199.  
  200.     The software is sold on an "as is" basis, as described in the
  201.     Limited Warranty section of the documentation, but we will
  202.     try to correct any serious bugs (see the "Known
  203.     Imcompatabilities" section of the documentation for a list of
  204.     currently unresolved conflicts).  Updates are available free
  205.     through Rock's BBS, and major updates are also available from
  206.     CompuServe.  Registered users order an update disk through
  207.     the mail for $5.  If you're unhappy with your purchase, we'll
  208.     refund the purchase price up to 90 days from the date of
  209.     purchase.
  210.  
  211.  
  212. Association of Shareware Professionals
  213.  
  214.             _______
  215.        ____|__     |               (r)   Rock is a member of the
  216.     --|       |    |-------------------  Association of Shareware
  217.       |   ____|__  |  Association of     Professionals (ASP). ASP
  218.       |  |       |_|  Shareware          wants to make sure that
  219.       |__|   o   |    Professionals      the shareware principle
  220.     -----|   |   |---------------------  works for you.  If you
  221.          |___|___|                       are unable to resolve a
  222.                                          shareware-related
  223.     problem with an ASP member by contacting the member directly,
  224.     ASP may be able to help.  The ASP Ombudsman can help you
  225.     resolve a dispute or problem with an ASP member, but does not
  226.     provide technical support for members' products.  Please
  227.     write to the ASP Ombudsman at 545 Grover Road, Muskegon, MI
  228.     49442 or send a CompuServe message via CompuServe Mail to ASP
  229.     Ombudsman 70007,3536.
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.                                                                        
  238.  ──────────────────────────────────────────────────────────────────────
  239.  3                                                                     
  240.  
  241.  
  242.  
  243.  
  244.                                                                 RIO 2.15
  245.  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  246.  
  247.  
  248. Distribution
  249.  
  250.     As mentioned under "Shareware Registration", you are
  251.     encouraged to pass a copy of RIO along to your friends for
  252.     evaluation.  Please encourage them to register their copy if
  253.     they find that they can use it.
  254.    
  255.     If you make copies of RIO, you must include all files in the
  256.     original distribution, including the documentation; you may
  257.     not give RIO away altered or as part of another system.
  258.  
  259.     Anyone distributing RIO by mail for any kind of remuneration
  260.     (except ASP vendors) should first contact Rock Systems at 101
  261.     N. Main #150-125, Ann Arbor MI  48104 for authorization.
  262.  
  263.     If you're recognized by the ASP as adhering to its guidelines
  264.     for shareware distributors, then you do not need to contact
  265.     Rock for distribution permission. Any BBS may distribute RIO.
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.                                                                        
  299.  ──────────────────────────────────────────────────────────────────────
  300.                                                                       4
  301.  
  302.  
  303.  
  304.  
  305.  RIO 2.15
  306.  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  307.  
  308.  
  309. Loading RIO-TSR (memory-resident)
  310.  
  311.     To install, type
  312.  
  313.          RIO-TSR [filename]
  314.  
  315.     If you type just RIO-TSR, the log file defaults to C:\RIO. If
  316.     the file already exists, you'll get the following prompt:
  317.  
  318.     C:>rio-tsr
  319.     RIO-TSR 2.15 (7/91) - Rock I/O logger, (C) 1991 Rock
  320.  
  321.     File C:\RIO already exists; append, erase & overwrite, or
  322.     cancel (a/e/c)?
  323.  
  324.     If you type A or E, the program will "go resident", operating
  325.     in the background, and you'll be returned to the DOS prompt.
  326.     If you type C, RIO-TSR will not go resident.
  327.  
  328.  
  329. HotKeys
  330.  
  331.     Certain aspects of RIO can be controlled by pressing hot keys
  332.     after it has gone resident. The following table lists the hot
  333.     keys:
  334.  
  335.       LeftShift-RightShift-L  Toggle logging
  336.       LeftShift-RightShift-C  Clear log file
  337.       LeftShift-RightShift-U  Unload TSR
  338.  
  339.     When logging is off, no further I/O operations will be logged
  340.     until it is turned on again.  If your system is slowed down
  341.     with file accesses you're not interested in, you should turn
  342.     logging off.  After logging is resumed, new operations are
  343.     appended to the existing log file.
  344.  
  345.  
  346. Command-line switches
  347.  
  348.     You can unload RIO-TSR or toggle logging by using running
  349.     RIO-TSR with command-line switches.  Type "RIO-TSR /U" to
  350.     unload the program, or "RIO-TSR /L" to toggle the logging on
  351.     or off.
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.                                                                        
  360.  ──────────────────────────────────────────────────────────────────────
  361.  5                                                                     
  362.  
  363.  
  364.  
  365.  
  366.                                                                 RIO 2.15
  367.  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  368.  
  369.  
  370. Running RIO (non-memory-resident)
  371.  
  372.     RIO allows you to turn on or off logging of particular
  373.     interrupts. After you load RIO-TSR, run RIO, and it will
  374.     provide a full-screen program with pulldown menus.  Command
  375.     keys (such as up and down arrow) are listed at the bottom of
  376.     the screen, and if you've used pull-down menus before, the
  377.     program's menu selections should be fairly self-explanatory.
  378.  
  379.  
  380. Configuration Files
  381.  
  382.     Configuration files store the settings you choose in RIO
  383.     (such as time-date stamp, or particular interrupt logging).
  384.     You can save or load a configuration file's settings RIO's
  385.     File menu.
  386.  
  387.     Two example configuration files are included, DEFAULTS.RIO
  388.     and OPENONLY.RIO, which contain the default RIO-TSR settings,
  389.     and settings to log just file opens, respectively.  To use
  390.     them, load RIO-TSR as usual, then load RIO, then choose "Load
  391.     Config" from the File menu. Type in the full path and file
  392.     name, such as "c:\rio\openonly.rio". You can create your own
  393.     config files by adjusting the settings in RIO, then saving
  394.     them with "Save Config" from the File menu.  This allows you
  395.     to create separate configuration files for debugging a
  396.     network problem or for debugging a file creation problem.
  397.  
  398.     RIO has one optional command-line argument - a configuration
  399.     file name. If a configuratino file is given, for example,
  400.     "RIO OPENONLY.RIO", RIO loads the settings from the
  401.     configuration file "OPENONLY.RIO", then halts.  This allows a
  402.     configuration file to be loaded from a batch file.
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.                                                                        
  421.  ──────────────────────────────────────────────────────────────────────
  422.                                                                       6
  423.  
  424.  
  425.  
  426.  
  427.  RIO 2.15
  428.  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  429.  
  430.  
  431. Operation
  432.  
  433.     The log file created and repeatedly updated by RIO-TSR is a
  434.     text file showing information about each DOS I/O call.  It
  435.     lists the call number, its operation, input and output from
  436.     the call, the time, and/or the date, according to the
  437.     settings, which are adjustable from the program RIO.EXE.  The
  438.     following are taken from a sample log file:
  439.     ┌──────────────────┬──────────────────────────────┬──────────┐
  440.     │Operation         │Information sent -> returned  │Time      │
  441.     └──────────────────┴──────────────────────────────┴──────────┘
  442.     Get Break Flag      -> Off                        16:16:21.16
  443.     Set Break Flag      Off                           16:16:21.16
  444.     Open (Read-only)    C:\COLORS.RIR -> Handle 5     16:16:21.55
  445.     Close File          Handle 5                      16:16:21.55
  446.  
  447.     The -> symbol in the "Information sent -> returned" column
  448.     means that the information was returned from teh call.  A
  449.     "get" call typically just returns information, while a "set"
  450.     call typically just sends information to the interrupt
  451.     procedure.  In the case of the "Open (Read-only)" call, a
  452.     file name is sent to the interrupt, and a handle number is
  453.     returned.  Each opened file is assigned a handle number, and
  454.     subsequent calls relating to the file will use that handle
  455.     number (as in the next call, Close File).  The maximum handle
  456.     number can be set by the "FILES=" command in a config.sys
  457.     file, for example "FILES=20" means up to 20 handles may be
  458.     assigned at the same time.
  459.  
  460.     Note that RIO-TSR does not log its own I/O operations.  RIO,
  461.     the non-TSR program, will cause some operations to be logged.
  462.  
  463.     RIO-TSR will put a special message in the log file if it is
  464.     unable to log all the information.  RIO-TSR uses a memory
  465.     buffer to hold log information until it is safe to write it
  466.     to disk. If the buffer overflows before it can be logged, the
  467.     log file will contain a line indicating how many lines were
  468.     lost.
  469.  
  470.     RIO-TSR will also put a line in if the same interrupt is
  471.     called repeatedly, for example if "Find Next File" is called
  472.     100 times, it will list the first three calls, then say "call
  473.     repeated 97 more times."  The number of calls to list before
  474.     saying it was repeated is adjustable from RIO.
  475.  
  476.     For the technically minded, Appendices A & B list the
  477.     interrupt $21 functions that can be logged.
  478.  
  479.  
  480.  
  481.                                                                        
  482.  ──────────────────────────────────────────────────────────────────────
  483.  7                                                                     
  484.  
  485.  
  486.  
  487.  
  488.                                                                 RIO 2.15
  489.  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  490.  
  491.  
  492. File Reads & Writes
  493.  
  494.     File Read/Write calls (Interrupt $21, finctions $3F and $40)
  495.     are by default not logged, because some programs call these
  496.     functions a *lot*, and the results generally aren't that
  497.     interesting.  However, you can have these functions logged by
  498.     turning them on from RIO's "Interrupts" menu.
  499.  
  500.     Logging these interrupts can be very useful in trying to
  501.     decode an unknown file format that a program uses.  If the
  502.     program writes each field with a separate call, you can see
  503.     exactly how many bytes it writes per call.  As a simple
  504.     example, if a database program keeps writing 4 bytes, 1 byte,
  505.     2 bytes, and keeps repeating this sequence, it's indicative
  506.     that it's writing fields of those lengths (perhaps a date,
  507.     followed by a boolean value, followed by an integer).  File
  508.     headers, the initial area of data files, are often written
  509.     and read one variable at a time.
  510.  
  511.  
  512. Failed DOS calls
  513.  
  514.     Unsuccessful or "failed" DOS calls are usually listed with
  515.     the the error code they return.  Note that a DOS call
  516.     returning an error does *not* indicate a program bug.  For
  517.     example, to determine if a file exists, many programs try
  518.     opening the file, and if it fails, it knows it doesn't exist.
  519.     As long as the program you're running realizes when DOS
  520.     reports an error, rather than trying to write to a file it
  521.     never successfully opened, then the program should work fine.
  522.  
  523.  
  524. Hotkey Sound Effects
  525.  
  526.     RIO plays sound effects when it issues functions called by
  527.     hotkeys. When logging is toggled, "on" is denoted by a rising
  528.     scale of tones, "off" by a falling scale.  Clearing the file
  529.     results in a muddy warbling sound, and successfully unloading
  530.     RIO-TSR results in the first few notes of Taps being played.
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.                                                                        
  543.  ──────────────────────────────────────────────────────────────────────
  544.                                                                       8
  545.  
  546.  
  547.  
  548.  
  549.  RIO 2.15
  550.  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  551.  
  552.  
  553. File Attributes
  554.  
  555.     Get Attr, Set Attr, and some other file-related calls are
  556.     followed by attribute codes given in brackets, for example
  557.     "[RHSVDA]".  A sample line from a log file would be:
  558.  
  559.     Find First File     [RHS DA] C:\*.* -> .
  560.  
  561.     This means the Find First File is looking for a file with any
  562.     attributes other than the Volume attribute, and the "."
  563.     directory entry was returned.
  564.  
  565.     The codes within brackets stand for the following attributes:
  566.  
  567.             R - Read only   H - Hidden     S - System
  568.             V - Volume      D - Directory  A - Archive
  569.  
  570.  
  571. Change History
  572.  
  573.  
  574.     Version 2.0
  575.  
  576.     The logging of each function was made configurable, so the
  577.     logging of particular Int $21 functions can be turned on or
  578.     off.  Features such as time/date stamping, or logging of
  579.     interrupt function numbers, can be turned on or off.  Netware
  580.     function logging was also added.
  581.  
  582.     These options are selectable from a separate non-TSR program
  583.     which communicates with RIO-TSR, so that this larger program
  584.     won't hog your system RAM while you're running RIO-TSR.
  585.  
  586.     Also, this version of RIO-TSR can be unloaded.
  587.  
  588.  
  589.     Version 2.15
  590.  
  591.     Added ability to save and load configuration files from the
  592.     non-TSR program RIO.  Configuration files can be loaded
  593.     either by RIO's menu selection or from RIO's command-line
  594.     switch.
  595.  
  596.  
  597.     Version 2.15
  598.  
  599.     Fixed two bugs: didn't log file reads and writes, and didn't
  600.     log all failed calls.
  601.  
  602.  
  603.                                                                        
  604.  ──────────────────────────────────────────────────────────────────────
  605.  9                                                                     
  606.  
  607.  
  608.  
  609.  
  610.                                                                 RIO 2.15
  611.  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  612.  
  613.  
  614. Credits
  615.  
  616.     RIO-TSR is based on the public domain IOLOG 1.0 (12/88) by
  617.     Kim Kokkonen of TurboPower Software, and uses TurboPower's
  618.     (excellent!) Object Professional toolkit for Turbo Pascal.
  619.     Mr. Kokkonen credits Don Pearsall for IOLOG's inspiration.
  620.     IOLOG provides much less information (it logs around a dozen
  621.     interrupts), and is not as configurable, but it is public
  622.     domain, and the source code is included with Object
  623.     Professional. The user interface for RIO also makes use of
  624.     Object Professional's menu and window routines.  If you're
  625.     into Turbo Pascal, their software and support comes highly
  626.     recommended.
  627.  
  628.  
  629. Contacting Rock
  630.  
  631.     See the section "Shareware Registration" and the order form
  632.     at the end of this document for information on registering
  633.     your copy of RIO (basic idea: $25 + $2 s/h).
  634.  
  635.     We appreciate any suggestions, bug reports, and other
  636.     constructive criticism.  Bug reports are of the utmost
  637.     interest!  Even if you have not registered the product, your
  638.     feedback is valued; what would make you want to pay for it?
  639.  
  640.     E-Mail (electronic mail) is the preferred method of
  641.     communication. Failing that, regular ("snail") mail can be
  642.     used.  If you leave a message on our answering machine, long
  643.     distance calls may be returned as collect calls from Rock
  644.     Systems.  If you want written information on current
  645.     products, just leave your address.
  646.  
  647.     Electronic mail (e-mail) can be sent to CompuServe account
  648.     [71270,146], or to "Rob Argy" on the DBK/Rock Bulletin Board
  649.     System, a tech support system at (313) 662-9160 (2400 Baud,
  650.     None, 8, 1).  Anybody can call the DBK/Rock BBS, and there's
  651.     no waiting period to download files; all of Rock's other
  652.     programs are there, in addition to a lot of other files.
  653.  
  654.     Rock's current mailing address is:
  655.  
  656.          Rock Systems
  657.          101 N. Main St., Suite 150-125
  658.          Ann Arbor, MI  48104
  659.  
  660.     Rock's current phone number is (313) 971-9123; it may change
  661.     in '91 or '92, but the address should stay the same for quite
  662.     a while, and registered users will be informed of changes.
  663.  
  664.                                                                        
  665.  ──────────────────────────────────────────────────────────────────────
  666.                                                                      10
  667.  
  668.  
  669.  
  670.  
  671.  RIO 2.15
  672.  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  673.  
  674.  
  675. Example output - log file, default options
  676.  
  677. ┌───┬───┬─────────────────┬─────────────────────────────────────┐
  678. │In#│Fn#│Operation        │Information sent -> returned         │
  679. └───┴───┴─────────────────┴─────────────────────────────────────┘
  680.  $21 $4E Find First File   [RHS   ] D:\B\RIR.EXE -> RIR.EXE
  681.  $21 $47 Get Current Dir   Drive 4 ->
  682.  $21 $29 Parse File Name    /W
  683.  $21 $29 Parse File Name     
  684.  $21 $35 Get Intr Vector   Int $00 -> $19B3:0898
  685.  $21 $35 Get Intr Vector   Int $02 -> $18E5:0016
  686.  $21 $35 Get Intr Vector   Int $1B -> $0070:07F5
  687.  
  688.                     < call repeated 15 more times >
  689.  
  690.  $21 $25 Set Intr Vector   Int $00 to $432C:00CE
  691.  $21 $30 Get DOS Version   -> 4.0 (OEM #255)
  692.  $21 $38 Get Country Data  -> United States
  693.  $21 $33 Get Break Flag    -> Off
  694.  $21 $33 Set Break Flag    Off
  695.  $21 $25 Set Intr Vector   Int $1B to $4176:0731
  696.  $21 $3D Open (Read-only)  C:\COLORS.RIR -> Handle 5
  697.  $21 $42 Seek Relative     Hndl 5, 0 bytes->(get pos) at byte 0
  698.  $21 $42 Seek From End     Hndl 5, 0 bytes->(get size) 395 bytes
  699.  $21 $42 Seek From Start   Handle 5, 0 bytes->to byte 0
  700.  $21 $3E Close File        Handle 5
  701.  $21 $2C Get System Time   -> 00:15:30.38
  702.  $21 $19 Get Current Disk  -> Physical drive C:
  703.  
  704.  
  705. Example output - log file, time-stamp turned on
  706.  
  707. ┌────────────────┬───────────────────────────────────┬──────────┐
  708. │Operation       │Information sent -> returned       │Time      │
  709. └────────────────┴───────────────────────────────────┴──────────┘
  710.  
  711. Get DOS Version  -> 4.0 (OEM #255)                    16:16:21.16
  712. Get Country Data -> United States                     16:16:21.16
  713. Get Break Flag   -> Off                               16:16:21.16
  714. Set Break Flag   Off                                  16:16:21.16
  715. Set Intr Vector  Int $1B to $5C65:0731                16:16:21.16
  716. Open (Read-only) C:\COLORS.RIR -> Handle 5            16:16:21.55
  717. Seek Relative    Hndl 5, 0 bytes->(get pos) at byte 0 16:16:21.55
  718. Seek From End    Hndl 5, 0 bytes->(get size) 95 bytes 16:16:21.55
  719. Seek From Start  Handle 5, 0 bytes->to byte 0         16:16:21.55
  720. Close File       Handle 5                             16:16:21.55
  721. Get System Time  -> 16:16:21.60                       16:16:21.60
  722. Get Current Disk -> Physical drive C:                 16:16:21.60
  723. Findfile         [RH  D ] D:\B\T.???                  16:16:21.65
  724.  
  725.                                                                        
  726.  ──────────────────────────────────────────────────────────────────────
  727.  11                                                                    
  728.  
  729.  
  730.  
  731.  
  732.                                                                 RIO 2.15
  733.  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  734.  
  735.  
  736. Appendix A - Interrupt $21 DOS functions logged
  737.  
  738. Int $21 DOS functions
  739.  
  740.     $01 Read, Echo Keyboard
  741.     $03 Auxiliary Input
  742.     $04 Auxiliary Output
  743.     $05 Print Character
  744.     $06 Direct Console I/O
  745.     $07 Direct Console Inp.
  746.     $08 Read Kybrd w/o Echo
  747.     $09 Display String
  748.     $0A Buffered Kybd Input
  749.     $0B Check Kybrd Status
  750.     $0C Flush & read kybrd
  751.     $0D Reset Disk
  752.     $0E Select Disk
  753.     $0F FCB Open File
  754.     $10 FCB Close File
  755.     $11 FCB Find First
  756.     $12 FCB Find Next
  757.     $13 FCB Delete File
  758.     $14 FCB Seq. Read
  759.     $15 FCB Seq. Write
  760.     $16 FCB Create File
  761.     $17 FCB Rename File
  762.     $18 Reservd DOS Fnc $18
  763.     $19 Get Current Disk
  764.     $1A Set Disk X-fer Addr
  765.     $1B Get Def. Drive Data
  766.     $1C Get Drive Data
  767.     $1D Reservd DOS Fnc $1D
  768.     $1E Reservd DOS Fnc $1E
  769.     $1F Get Def Param Block
  770.     $20 Reservd DOS Fnc $20
  771.     $21 FCB Random Read
  772.     $22 FCB Random Write
  773.     $23 FCB Get File Size
  774.     $24 FCB Set Rel. Record
  775.     $25 Set Intr Vector
  776.     $26 Create New Prog Seg
  777.     $27 FCB Rndm Block Read
  778.     $28 FCB Rndm Blck Write
  779.     $29 Parse File Name
  780.     $2A Get System Date
  781.     $2B Set System Date
  782.     $2C Get System Time
  783.     $2D Set System Time
  784.     $2E (Re)set Verify Flag
  785.  
  786.                                                                        
  787.  ──────────────────────────────────────────────────────────────────────
  788.                                                                      12
  789.  
  790.  
  791.  
  792.  
  793.  RIO 2.15
  794.  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  795.  
  796.  
  797.     $2F Get Disk X-fer Addr
  798.     $30 Get DOS Version
  799.     $32 Get Disk's DPB Ptr
  800.     $33 Break Flag/Boot Drv
  801.     $34 Get DOS Busy Flag
  802.     $35 Get Intr Vector
  803.     $36 Get Free Diskspace
  804.     $37 Get/Set Switch Char
  805.     $38 Get/Set Country
  806.     $39 Create Directory
  807.     $3A Remove Directory
  808.     $3B Change Directory
  809.     $3C Create File
  810.     $3D Open File
  811.     $3E Close File
  812.     $3F Read File
  813.     $40 Write File
  814.     $41 Delete File
  815.     $42 Seek File
  816.     $43 Get/Set Attributes
  817.     $44 IOC (I/O Control)
  818.     $45 Duplicate Handle
  819.     $46 Force Dup Handle
  820.     $47 Get Current Dir
  821.     $48 Allocate Mem Block
  822.     $49 Release Mem Block
  823.     $4A Resize Memory Block
  824.     $4D Get Return Code
  825.     $4E Find First File
  826.     $4F Find Next File
  827.     $50 Set PSP Segment
  828.     $51 Get PSP Seg (buggy)
  829.     $52 Get DOS Variables
  830.     $53 Translate BPB
  831.     $54 Get Verify Flag
  832.     $55 Duplicate PSP Block
  833.     $56 Rename File
  834.     $57 Get/Set File Date
  835.     $58 Get/Set Alloc Strat
  836.     $59 Get Ext Error Info
  837.     $5A Create Temp File
  838.     $5B Create New File
  839.     $5C Lock/Unlock File
  840.     $5D Internal DOS Functn
  841.     $5E Mach Name/Prn Setup
  842.     $5F Assignment Entry
  843.     $60 Qualify Path String
  844.     $61 Reservd DOS Fnc $61
  845.     $62 Get PSP Address
  846.  
  847.                                                                        
  848.  ──────────────────────────────────────────────────────────────────────
  849.  13                                                                    
  850.  
  851.  
  852.  
  853.  
  854.                                                                 RIO 2.15
  855.  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  856.  
  857.  
  858.     $63 Get DBCS,G/Set Cons
  859.     $64 Reservd DOS Fnc $64
  860.     $65 Get Ext Country Inf
  861.     $66 Get/Set Code Page
  862.     $67 Set Handle Count
  863.     $68 Commit File
  864.     $69 Reservd DOS Fnc $69
  865.     $6A Reservd DOS Fnc $6A
  866.     $6B Reservd DOS Fnc $6B
  867.     $6C Extended File Open
  868.  
  869.  
  870. Appendix B - Interrupt $21 Novell Netware functions
  871.  
  872. Int $21 Novell Netware FCB functions
  873.  
  874. $BF NW FCB LOG Record           $C0 NW FCB Release Rcrd
  875. $C1 NW FCB Clear Record         $CA NW FCB Log Prs File
  876. $CC NW FCB Release File         $CE NW FCB Clear File
  877. $E4 NW FCB Set Attribs          $E5 NW FCB Set FileSize
  878. $E6 NW FCB Copy File            $E8 NW FCB St Reopn Mde
  879.  
  880. Int $21 Novell Netware other functions
  881.  
  882. $B6 NW Ext File Attribs         $D7 NW System Logout
  883. $B8 NWAdv Print Jobs            $DA NW Get Volume Stats
  884. $BB NW Set EOJob Status         $DB NW Get Local Drives
  885. $BC NW LOG Phys Record          $DC NW Get Station Num.
  886. $BD NW Release Phys Rec         $DD NW Set Error Mode
  887. $BE NW Clear Phys Recrd         $DE NW Set Brodcst Mode
  888. $C2 NW Lock Phys Rc Set         $DF NW Capture
  889. $C3 NW Rels Phys Rc Set         $E0 NW Print Spooling
  890. $C4 NW Clr Phys Rec Set         $E1 NW Broadcast Msgs
  891. $C5 NW Semaphores               $E2 NW Directory Fnctns
  892. $C6 NW G/Set Lock Mode          $E3 NW Connection Ctrl
  893. $C7 NW TTS                      $E7 NW G/Set Srvr Tm&Dt
  894. $C8 NW Begin File Lock          $E9 NW Get Base Status
  895. $C9 NW End File Locking         $EA NW Get Shell Versn.
  896. $CB NW LOCK File Set            $EB NW Log File
  897. $CD NW Release File Set         $EC NW Release File
  898. $CF NW Clear File Set           $ED NW Clear File
  899. $D0 NW LOG Record               $EE NW Get Phys Station
  900. $D1 NW LOCK Record Set          $EF NWAdv Get Drive Inf
  901. $D2 NW Release Record           $F0 NWAdv Connection ID
  902. $D3 NW Release Recd Set         $F1 NWAdv Srvr Connectn
  903. $D4 NW Clear Record             $F2 NW Unknown Function
  904. $D4 NW Clear Record             $F3 NWAdv Srvr FileCopy
  905. $D5 NW Clear Recrd Set
  906. $D6 NW End Of Job
  907.  
  908.                                                                        
  909.  ──────────────────────────────────────────────────────────────────────
  910.                                                                      14
  911.  
  912.  
  913.  
  914.  
  915.  RIO 2.15
  916.  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  917.  
  918.  
  919. Appendix C - Known Incompatibilities
  920.  
  921.     Rock tries to overcome incompatibilities, but some still
  922.     exist.
  923.  
  924.     Quarterdeck's QEMM - We have had two reports of a "QEMM
  925.     Protection Error 13" with users who run QEMM.  Unfortunately
  926.     we cannot reproduce this error with our copy of QEMM, and
  927.     Quarterdeck's technical support gave no suggested causes of
  928.     the error message.  User suggestions in this matter are
  929.     welcome!
  930.  
  931.     Microsoft Windows 3.0 - If RIO is installed when Microsoft
  932.     Windows is started, it causes Windows to halt loading.  If
  933.     logging is turned off, Windows will load, but will hang when
  934.     you try to exit Windows.  You can run RIO in a DOS shell from
  935.     Windows, but it must be uninstalled before you return to
  936.     Windows.  Microsoft does not officially sanction TSR's for
  937.     use with Windows, so this incompatibility will probably not
  938.     be resolved.
  939.  
  940.     Norton Commander - A user reports that RIO freezes their
  941.     system when Norton Commander is loaded.  The cause remains
  942.     unknown, but we'll investigate further when we have access to
  943.     Norton Commander.
  944.  
  945.     J.P. Software's 4DOS - While generally compatible, certain
  946.     configurations with expanded memory-swapping cause RIO to not
  947.     log any interrupts when certain programs are run.  It will
  948.     not hang the system, and logging resumes when a non-logged
  949.     program is terminated.
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.                                                                        
  970.  ──────────────────────────────────────────────────────────────────────
  971.  15                                                                    
  972.  
  973.  
  974.  
  975.  
  976.                                                                 RIO 2.15
  977.  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  978.  
  979.  
  980. Appendix D - Limited Warranty (the "please don't sue me!" clause)
  981.  
  982.     RIO is a product of Rock, Ann Arbor, MI.  The programs
  983.     contained in this package are provided "as is" without
  984.     warranty of any kind, express or implied, including, but not
  985.     limited to, the implied warranties of merchantability and
  986.     fitness for a particular purpose.  The entire risk related to
  987.     the quality and performance of the programs is on you.  In
  988.     the event there is any defect, you assume the entire cost of
  989.     all needed servicing, repair, or correction.  Some states do
  990.     not allow the exclusion of implied warranties, so the above
  991.     exclusion may not apply to you.  This warranty gives you
  992.     specific legal rights, and you may have other rights which
  993.     vary from state to state.
  994.  
  995.     Rock does not warrant that the functions contained in the
  996.     programs will meet your requirements or that the operation of
  997.     the programs will be uninterrupted or error-free.  In no
  998.     event shall Rock be liable to you for any damages (including
  999.     lost profits, lost savings, or other incidental or
  1000.     consequential damages arising out of the use of or inability
  1001.     to use such programs even if Rock has been advised of the
  1002.     possibility of such damages) or for any claim by any other
  1003.     party.  Some states do not allow the limitation or exclusion
  1004.     of liability for incidental or consequential damages so the
  1005.     above limitation or exclusion may not apply to you.
  1006.  
  1007.     This agreement constitutes the complete and exclusive
  1008.     statement of the terms of the agreement between you and Rock,
  1009.     superseding and replacing any previous written or oral
  1010.     agreements or communications relating to this software. No
  1011.     oral or written information or advice given by Rock, its
  1012.     distributors, agents or employees shall in any way increase
  1013.     the scope of the warranty described here.
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.                                                                        
  1031.  ──────────────────────────────────────────────────────────────────────
  1032.                                                                      16
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  RIO 2.15
  1038.  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  1039.  
  1040.  
  1041. Appendix E - RIO 2.15 Order And Registration Form
  1042.  
  1043.  
  1044.      Name:          _______________________________________
  1045.  
  1046.      Address:       _______________________________________
  1047.      
  1048.                     _______________________________________
  1049.      
  1050.      City:          _______________________________________
  1051.      
  1052.      State:         ________________________ Zip: _________
  1053.      
  1054.  
  1055.      Item                                      Quantity     Total
  1056.      ------------------------------------------------------------
  1057.                                                        |
  1058.      RIO Registration ($25 each)_______________________|_________
  1059.                                                        |
  1060.      Disk update for registered users ($5 each)________|_________
  1061.                                                        |
  1062.      Shipping Charges         U.S./Canada : $ 2.00     |
  1063.                               Elsewhere   : $ 5.00     |
  1064.                                                        |
  1065.      Total Shipping Charges____________________________|_________
  1066.                                                        |
  1067.      ------------------------------------------------------------
  1068.                                                        |
  1069.      Total Due:                                        |_________
  1070.      
  1071.      Preferred Disk Size (circle one):   3.5"   5.25"
  1072.      
  1073.      Where did you get a copy of RIO? ___________________________
  1074.  
  1075.      Do you use a modem with your PC? ___________________________
  1076.      
  1077.      Your DOS level:  Beginner   Intermediate   Advanced   Hacker
  1078.      
  1079.      Have you tried other Rock software? ________________________
  1080.      
  1081.      Mail completed form to:  Rock Systems
  1082.                               101 N. Main St., Suite 150-125
  1083.                               Ann Arbor, MI  48104
  1084.  
  1085.           *** Checks should be payable to "Rock Systems" ***
  1086.  
  1087.                    Thanks a lot for your support!!!
  1088.  
  1089.  
  1090.  
  1091.                                                                        
  1092.  ──────────────────────────────────────────────────────────────────────
  1093.  17                                                                    
  1094.  
  1095.